The present invention relates to pattern generation methods and apparatus in which at least one beam (e.g., at least one laser beam or at least one electron beam) is controlled to produce a pattern on a target. In typical embodiments, the invention is a microlithographic method and apparatus in which at least one cell of a set of hierarchical image data is cached and then retrieved during conversion of the image data into beam control data (having pixel or vector format) suitable for causing a beam to produce a patterned mask.
Pattern generation equipment is used for microlithographic applications such as the fabrication of masks for use in producing integrated circuits, as well as for other applications.
Some pattern generation systems use a raster writing strategy in which a laser or electron beam is swept over the target along a raster scan path, as the beam intensity is modulated to write pixels which determine a pattern on the target. In some implementations of such systems, the target is mounted on a movable stage and the beam moves back and forth along a first axis (in the plane of the target) while the stage moves the beam along an axis perpendicular to the first axis. In operation of pattern generation systems that use a raster writing strategy, sets of raw image data are received, and a raster engine is employed to rasterize each set of raw image data to generate a set of rasterized data. The rasterized data is in xe2x80x9cpixel formatxe2x80x9d in the sense that it comprises a sequence of pixels to be written (sequentially) during one raster scan. Each pixel in the sequence can be a binary value (0 or 1), or a gray scale value.
U.S. Pat. No. 5,533,170, issued on Jul. 2, 1996, to R. L. Teitzel, et al., describes a raster engine for a pattern generation apparatus, and suggests that the data processed by the raster engine can include data objects that are called like subroutines so that a hierarchical structure can be built by called subroutines.
Other pattern generation systems do not rasterize raw image data into pixel format but instead convert raw image data into xe2x80x9cvector formatxe2x80x9d data. The vector format data comprises a sequence of vectors, each determining a location (at which a scan begins) and a magnitude indicative of the length (or duration) of the scan. Typically, the location is expressed as an offset from a reference point. In response to a set of vector format data, a beam performs a sequence of scans in which it is directed to a first location on the target and executes a scan (e.g., a raster scan over a small area) starting at the first location and having the indicated length or duration, and then jumps to a second location on the target and executes another scan having the length or duration corresponding to the second location, and so on.
In another type of pattern generation system (sometimes referred to as xe2x80x9cshaped spotxe2x80x9d systems), the target is exposed by a sequence of shots of a variably shaped beam. To perform each shot, the beam is controlled (e.g., by manipulating apertures in the beam path) so that its projection on the target has a selected shape (e.g., a rectangle or triangle), and a selected region of the target is exposed to the shaped beam for a selected duration of time. This type of system converts raw image data into vector format data comprising a sequence of vectors, each vector determining a location (on the target) for one shot (in a sequence of shots) and a magnitude indicative of a configuration of beam control components determining a selected projected beam shape for the shot (and optionally also the shot duration).
Other pattern generation systems used for microlithography are known as xe2x80x9ccell projectionxe2x80x9d systems. A cell projection system is used to expose the target to a sequence of shots. To accomplish each shot, a beam is projected onto the target through a pattern of holes determined by a wafer. The wafer can determine either one pattern or more than one pattern of holes. To accomplish each shot, the beam is controlled so that passes through a selected pattern of holes of the wafer onto a selected region of the target for a selected duration of time. This type of system converts raw image data into vector format data comprising a sequence of vectors, each vector determining a location on the target for one shot (in a sequence of shots) and control bits determining through which pattern of holes (of the wafer) the beam passes for the shot.
U.S. Pat. No. 5,371,373, issued on Dec. 6, 1994, teaches an electron beam lithography apparatus having both a cell projection system (including a selected one of masks 24-28 of FIG. 6, identified as mask 21 in FIG. 3) and a shaped spot system including mask 29 of FIG. 6 (identified as mask 21 in FIG. 3) and mask 19 and mechanism 18 of FIG. 3. The apparatus produces a pattern on object 15 in response to two-level hierarchical image data. Each of masks 24-28 is fabricated in response to a different primary cell of the hierarchical image data. In addition to fabricating masks 24-28, lithographic data (in vector format) is generated by processing the hierarchical image data. Data control system 8 responds to a stream of the lithographic data as follows: in response to each successively received unit of the lithographic data that designates one of the primary cells, a single xe2x80x9ccell projectionxe2x80x9d shot is performed in which the beam passes through the corresponding mask 24, 25, 26, 27, or 28 to project a cell onto object 15; and in response to each successively received unit of the lithographic data that does not designate one of the primary cells, a single xe2x80x9cshaped beamxe2x80x9d shot is performed in which the beam passes through appropriately controlled pair of masks 19 and 29 to project a selected beam shape onto object 15. However, U.S. Pat. No. 5,371,373 does not teach any method for producing a pattern on object 15 in response to N-level hierarchical image data, where N is greater than two.
In a class of preferred embodiments of the inventive pattern generation method and system, a graphics engine (xe2x80x9cGExe2x80x9d) having a memory receives a set of hierarchical image data (determining a pattern to be imaged on a target), at least one cell (determining a repeated feature set) is stored in the memory, and beam control data is generated in response to the image data. The expression xe2x80x9cfeature setxe2x80x9d is used herein to denote a feature or set of features that occurs in the pattern and the expression xe2x80x9crepeated feature setxe2x80x9d is denotes a feature or set of features that occurs repeatedly in the pattern. The hierarchical image data includes residual data, the residual data includes at least two subroutine call commands for each cell stored in the memory, and each subroutine call command is indicative of a location on the target and a cell to be retrieved from memory. In response to each subroutine call command, the GE retrieves a cell from the memory, and asserts beam control data that determines a feature set (determined by the cell) to be imaged on the target at (or beginning at) the location identified by the subroutine call command. The subroutine call commands can be distributed throughout the image data transferred to the GE, including in at least one cell to be cached (e.g., in a primary cell, in which case it identifies a secondary cell) as well as in the residual data.
In preferred embodiments, the GE caches each cell of the hierarchical image data in the memory, and generates a set of beam control data in response to each subroutine call command by retrieving a cached cell from the memory and generating the beam control data in response to the retrieved cell. In other embodiments, the GE generates a cell of beam control data in response to each cell of the hierarchical image data, caches each such beam control data cell (rather than the cell of image data corresponding to the beam control data cell) in the memory, and responds to each subroutine call command of the transferred image data by retrieving a cached cell of beam control data from memory and asserting the retrieved beam control data cell as part of a set of beam control data that determines a feature set (determined by the retrieved cell) to be imaged on the target at (or beginning at) the location identified by the command. In the latter embodiments, each cached beam control data cell remains statically in the memory of the GE throughout the entire lifetime of a print job.
Some embodiments of the invention include the step of, or apparatus for, generating the hierarchical image data to be transferred to the GE from a set of raw image data.
Although the beam control data generated in accordance with preferred embodiments of the invention is in pixel format, beam control data in vector format is generated in accordance with alternative embodiments of the invention. The beam control data generated in accordance with the invention can be asserted by the GE to a beam system to place the beam system in a configuration (or sequence of configurations) which causes a beam or beams controlled by the beam system to image the desired pattern (specified by the transferred hierarchical image data) on the target.
In some preferred embodiments, the GE of the inventive system is a raster engine. In some such embodiments, at least one cell of a set of hierarchical image data transferred to the GE is cached once (preferably as a bit map) in a memory of the raster engine, and the raster engine repeatedly calls the stored cell in response to subroutine call commands (included in the transferred image data) that are indicative of each location on the target at which (or beginning at which) a raster-scanned beam should image the pixels determined by the cell.
Another aspect of the invention is a method and apparatus for determining cells of hierarchical image data to be cached in the memory of a GE (or converted into cells of beam control data to be cached in the memory of a GE) by analyzing the hierarchy of a set of hierarchical raw image data and optimizing the hierarchical structure of the raw image data to transform the raw image data into a set of optimized hierarchical image data comprising the cells to be cached. This can be accomplished by a processor programmed with analysis software. The optimized hierarchical image data preferably achieves an optimal combination of the following factors: reduction of the data volume to be transferred to the GE, and minimizing (or maintaining within an acceptable limit) the time required for generating beam control data from the transferred image data and performing rasterization. The optimized hierarchical image data includes two classes of data: one or more cells which are to be cached (or converted to beam control data to be cached); and residual data. The residual data includes data indicative of non-repeated features of the layout, and subroutine call commands. The optimized hierarchical image data is communicated to the GE once, with the residual data thereof being communicated sequentially (e.g., in the order of rasterization).
In comparison with conventional pattern generation systems whose graphics engines do not cache any cell of a hierarchical data structure, and instead include graphics engines (e.g., raster engines) that work sequentially on features presented to them in streams of image data, a system embodying the present invention can be implemented with greatly reduced (e.g., by a factor of twenty) bandwidth requirements for communicating hierarchical image data to a graphics engine.